﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using SAAC.DTO;
using SAAC.BLL;

namespace SAAC.Aluno
{
    
    public partial class DadosCadastrais : System.Web.UI.Page
    {

        const string MATRICULA_SESSION = "MATRICULA_SESSION";

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                carregarControles();
                gerenciaVisibilidadeComponentesMaster();

            }

        }

        private void carregarControles()
        {
            var curso = new CursoDTO();
            var bllCurso = new CursoBLL();
            var listaCurso = new List<CursoDTO>();
            listaCurso = bllCurso.SelectAll(curso);
            ddlCurso.DataValueField = "Id";
            ddlCurso.DataTextField = "Nome";
            ddlCurso.DataSource = listaCurso;
            ddlCurso.DataBind();
            var dtoAluno = new AlunoDTO();
            var bllAluno = new AlunoBLL();

            this.Page.Master.EnableViewState = true;
            dtoAluno.Matricula = (int)Session[MATRICULA_SESSION];
            dtoAluno = bllAluno.Select(dtoAluno);
            dtoAluno.Curso = new CursoDTO();

            txtMatricula.Text = dtoAluno.Matricula.ToString();
            txtNome.Text = dtoAluno.Nome;
            txtSemestre.Text = dtoAluno.SemestreIngresso;
            txtCurriculo.Text = dtoAluno.Curriculo;
            ddlCurso.SelectedValue = dtoAluno.Curso.Id.ToString(); 
            
            var dtoUsuario = new UsuarioDTO();
            var bllUsuario = new UsuarioBLL();
            dtoUsuario.Id = dtoAluno.Usuario.Id;

            dtoUsuario = bllUsuario.Select(dtoUsuario);

            txtUsuario.Text = dtoUsuario.Login;
            txtSenha.Text = dtoUsuario.Senha;
            
        }

        private void gerenciaVisibilidadeComponentesMaster()
        {
            Menu menuAluno = (Menu)Master.FindControl("MenuAluno");
            menuAluno.Visible = true;
            Menu menuFuncionario = (Menu)Master.FindControl("MenuFuncionario");
            menuFuncionario.Visible = false;
            Menu menuProfessor = (Menu)Master.FindControl("MenuProfessor");
            menuProfessor.Visible = false;
            Menu menuColegiado = (Menu)Master.FindControl("MenuColegiado");
            menuColegiado.Visible = false; 

            LinkButton link = (LinkButton)Master.FindControl("lkbCadastro");
            link.Visible = false;
        }

        protected void btnAlterarUsuario_Click(object sender, EventArgs e)
        {
            var dtoAluno = new AlunoDTO();
            var bllAluno = new AlunoBLL();

            dtoAluno.Matricula = Convert.ToInt32(Session[MATRICULA_SESSION]);
            dtoAluno = bllAluno.Select(dtoAluno);
            
            var dtoUsuario = new UsuarioDTO();
            var bllUsuario = new UsuarioBLL();

            dtoUsuario.Login = txtUsuario.Text;
            dtoUsuario.Senha = txtSenha.Text;
            dtoUsuario.TipoUsuario = new TipoUsuarioDTO();
            dtoUsuario.TipoUsuario.Id = dtoAluno.Usuario.Id;
            dtoUsuario.TipoUsuario.Id = 1;

            bllUsuario.Insert(dtoUsuario);
            lblMensagem.Text = "Usuário alterado com sucesso!";
        }
    }

    
}